iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

也有英文版文章
Also this tutorial has been written in English
Check out my Medium

Rust的中文翻譯以參考這份檔案為主.


目錄

  • 向量(Vector)

Vector

  • 儲存多項資料(同型別)
  • 可以新增、移除、遍歷(traverse)整個向量
  • 使用for…in來迭代(iterate)
  • 向量是用泛型(generics)實作

Example 01 - 建立新向量

這裡我們指定了向量型別-整數,否則Rust不知道我們想儲存什麼類型的向量。

 let v: Vec<i32> = Vec::new();

Vec型別可以持有任意型別

 let a:Vec<T> = Vec::new(); 

Example 02 - 初始數值

 let v = vec![1, 2, 3];

Example 03 - 更新向量

使用push

  let mut v = Vec::new();

    v.push(1);
    v.push(2);
    v.push(3);
    v.push(4);

Example 04 - 讀取向量

使用索引或get讀取向量。

fn main() {
    let a = vec![1, 2, 3, 4, 5];

    let sec: &i32 = &a[2];
    println!("第2個元素是 {sec}");

    let sec: Option<&i32> = a.get(2);
    match sec {
        Some(sec) => println!("第三個元素是 {sec}"),
        None => println!("第三個元素並不存在。"),
    }
}



### Example 05 - 使用枚舉儲存多種型別

enum SpreadsheetCell {
Int(i32),
Float(f64),
Text(String),
}

let row = vec![
    SpreadsheetCell::Int(3),
    SpreadsheetCell::Text(String::from("藍色")),
    SpreadsheetCell::Float(10.12),
];


參考資料 Reference

Nice 教學影片


上一篇
Day 09 - 記憶體Memory - 所有權(Ownership) & 執行(Implement)
下一篇
Day 11 - 字串(Strings)
系列文
Let's go Rusty. 從0開始了解Rust.15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言